package dev.ece.core.engine;

import dev.ece.util.tools.Screen;

/**
 * 图形流转接口
 * 
 * @author 飘渺青衣
 * <b>E-mail：</b>3375758@qq.com
 */
public interface EngineListener {

	/**
	 * 图形引擎创建
	 * @author 潜行的青衣
	 * @version
	 * @param engine
	 */
	public void onCreate(Engine engine) throws Exception;
	
	/**
	 * 图形引擎创建
	 * @param screen
	 * @param width
	 * @param height
	 */
	public void onScreenChange(Engine engine, Screen screen, int width, int height) throws Exception;
	
	/**
	 * 逻辑线程
	 * @param engine
	 * @throws Exception
	 */
	public void onLogic(Engine engine) throws Exception;
	
	/**
	 * 渲染
	 * @param engine
	 */
	public void onRender(Engine engine) throws Exception;
	
	/**
	 * 图形引擎销毁
	 */
	public void onEngineDestroy() throws Exception;
}
